#include <iostream>

#include "iostream"
#include "vector"
#include "unordered_map"
#include "unordered_set"
#include "algorithm"
#include "string"
#include "list"
#include "string.h"


class OneLoop {
public:
//    std::unordered_map<int,char> node_appear;
    std::vector<std::vector<int>> mat;

    bool run(
            uint64_t n,uint64_t k
//            std::string&s1,std::string& s2
    ) {
        int res_max=INT_MIN;
        for(int i=0;i<n;i++){
            std::vector<int> line(k);
            for(int j=0;j<k;j++){
                std::cin>>line[j];
                if(i!=0){
                    line[j]+=mat[i-1][j];
                }
            }
            mat.emplace_back(line);
        }

        for(int i=0;i<mat.size();i++){//起始行
            for(int j=i;j<mat.size();j++){//终止行
                int last_pos;
                for(int l=0;l<k;l++){//扫描当前行
                    //当前扫描位置，行的和
                    int sum=0;
                    if(i==0){//起始行为0.直接赋值
                        sum=mat[j][l];
                    }else{//减掉起始行
                        sum=mat[j][l]-mat[i-1][l];
                    }
                    if(l==0){
                        res_max= std::max(res_max,sum);
                        last_pos=sum;
                    }else{
                        int cur= std::max(sum,sum+last_pos);
                        res_max= std::max(res_max,cur);
                        last_pos=cur;
                    }
                }
            }
        }

        printf("%d\n",res_max);
        return false;
    }
};

class Solution {
public:
    void run() {

        bool first = true;
        int a, b, c, d, e;
        //        std::cin >> a;
//        std::string s1,s2;
//        while (1){
        while (
//                std::getline(std::cin,s1)
                std::cin >> a>>b
//                1
                ) {
//            std::getline(std::cin,s2);
            OneLoop l;
            if (!l.run(a,b)) {
//                return;
            }
        }


    }
};

int main() {

    //    bool cur_num= true;
    Solution().run();
    return 0;
}

